草庐IT

c++ - AfxLoadLibrary 与 LoadLibrary

全部标签

c - 'st_blksize' : is not a member of 'stat' on Windows

因为我想从Linux移植到Windows。我意识到Windows和LinuxAPI都有stat.h但有一些不同。问题是Windowsstat.h没有st_blksize变量,但Linux有。我真的不明白st_blksize也可以做什么。谁能帮我解决这个问题?如何在Windows上找到与st_blksize等效的内容? 最佳答案 对于Linux结构定义,请访问此处:http://pubs.opengroup.org/onlinepubs/7908799/xsh/sysstat.h.html主要摘录:st_size:文件大小(以字节为单

Windows 和 Linux 中二进制文件的 C 库校验和

我将CRC库用于校验和,对于文本文件,在Windows和Linux中结果相同,但对于二进制文件,结果不同。我在Windows中使用mingw编译我的c程序,校验和结果不同。有没有一种方法可以使用CRC库在Windows和Linux之间产生相同的校验和结果?添加代码:我将此代码用于校验和文件,是从一些网络谷歌搜索中找到的。(忘记保存链接)。crc32.c#include#include#include#include#defineCRC(crc,ch)(crc=(crc>>8)^crctabb[(crc^(ch))&0xff])staticconstuint32_tcrctabb[256

c - 我想打开新的 cmd 提示符并从 cmd 提示符插入参数

我尝试启动cmd以打开新的cmd提示符,但我无法在新的cmd中提供命令行参数..我试过以下system("startcmd")>>"system("C:\\Windows\\System32\\ipconfig");不工作system(startsystem("C:\\Windows\\System32\\ipconfig"));不工作 最佳答案 正如DipakDDesai所说,您可以简单地使用system("cmd/cstartC:\\Windows\\System32\\ipconfig");但是如果您在非控制台应用程序中执行此

c# - LoadLibrary 内部的访问冲突

我正在使用CreateRemoteProcess将一些汇编程序代码注入(inject)远程进程(64位),然后加载一个dll,但我在LoadLibraryA中得到一个C0000005EXCEPTION_ACCESS_VIOLATION用于加载我的.dll文件的调用。这里是注入(inject)的汇编代码(下面截图中的地址不同,但这些是相对于写入前的远程内存地址计算的):MOVRCX,2A0DFF0020MOVRAX,CALLRAXMOVRCX,RAXMOVRDX,2A0DFF0030MOVRAX,CALLRAXMOVQWORDPTRDS:[2A0DFF0010],RAXMOVRCX,2A

c - C 中的 Visual Studio 错误,0xfefefefe 处的未处理异常

我正在学习如何在VisualStudio中编写C,这是我的代码,#includeintmain(){charme[20];printf("Whatisyourname?");scanf_s("%s",me);printf("darngladtomeetyou,%s!\n",me);return(0);}现在,在输入所有内容后,我会弹出一个错误消息“Project14.exe中0xFEFEFEFE处未处理的异常:0xC00001A5:已检测到无效的异常处理程序例程(参数:0x00000003)” 最佳答案 您使用的scanf_s()有

仅在 Windows 中的 C 程序编译器警告 (MinGW-w64)

我构建了一个多语言软件图像处理程序,并使其普遍适用于MacOSX和Ubuntu的二进制文件。二进制文件已经在各自的操作系统上进行了测试,一切正常。我最近还尝试发布适用于Windows(64位)的二进制文件,但是当我创建共享库(dll)文件时,GCC(通过MinGW-w64)编译器针对其中一个C程序发出了警告。这在MacOSX或Ubuntu中没有发生。以下是C文件中的警告和相应的代码行:warning:passingargument3of'_beginthreadex'fromincompatiblepointertype[enabledbydefault]第464行:ThreadLis

c++ - socket编程与windows和unix/linux的混淆

您好,我正在尝试使用C++进行套接字编程。我需要确认或拒绝这个逻辑。我认为socket.h头文件是为UNIX系统设计的,而对于Windows,一切都是通过winsock.h完成的。这是正确的吗? 最佳答案 对于Windows,您需要winsock2.h和ws2tcpip.h。在Linux上,您需要sys/socket.h和sys/types.h用于套接字函数和netinet/in.h用于IP相关结构。其他一些区别:Windows使用SOCKET作为套接字描述符,而Linux使用intWindows有closesocket()来关闭套

c - 如何运行 KMDF 驱动程序?

我已经为本地内核调试设置了我的系统,因为我只打算编写一个具有两个函数的简单驱动程序。我刚刚构建了一个简单的“helloworld”类型的驱动程序,看看我是否能让我的驱动程序运行,目前我已经禁用了驱动程序签名验证并启用了内核Debug模式,使用:bcdedit/debugon我还使用Windows测试商店的证书对我的驱动程序进行了测试签名?或者在VS2015中叫什么:)现在,我的问题是我在构建后通过右键单击.inf文件来安装我的驱动程序,但是我在我的驱动程序(下面的代码)中没有看到任何调试打印的输出,所以这让我相信我的驱动程序根本没有运行?或者是什么?我在安装驱动程序的机器上更改了Com

c - Microsoft 编译器下 _rdrand_step 内在函数的可用性?

根据微软的x64(amd64)IntrinsicsList,Microsoft为RDRAND提供了一个内在函数:_rdrand16_step_rdrand32_step_rdrand64_step但是,该页面并未讨论检测内在函数的可用性。有一个带有[2]的脚注,但它表示它仅适用于IntelCPU。我有两个问题。首先,我如何检测内在函数的可用性。也就是说,我应该使用什么预处理器宏来保护对say_rdrand64_step的调用。其次,如何在AMDCPU下访问RDRAND。根据AMD手册,AMD也提供。(更幽默的是,Microsoft将页面命名为amd64IntrinsicList。为什么

无法在 linux 和 windows 中编译 pgbouncer

我正在尝试编译pgbouncer以在运行在WindowsServer2008中的PostgreSQL服务器中使用。但是我根本无法编译dll,同样的错误出现在linux(ubuntu)和Windows中:checkingforlibevent...configure:error:notfound:cannotproceed我正在关注thishowto.我已经使用mingw在Windows中编译了libevent并将生成的dll复制到System32、SysWOW64甚至在自己的pgbouncer目录中。我做错了什么? 最佳答案 con